<?php

namespace Database\Seeders;

use App\Models\Series;
use App\Models\User;
use Illuminate\Database\Seeder;

class SeriesSeeder extends Seeder
{
    /**
     * Run the database seeds.
     */
    public function run(): void
    {
        $this->command->info('开始创建系列...');

        // 获取第一个用户作为所有系列的作者
        $author = User::first();
        if (!$author) {
            $this->command->error('没有找到用户，请先运行 UserSeeder');
            return;
        }

        // 定义中文系列数据
        $seriesData = [
            [
                'name' => 'Laravel 实战教程',
                'description' => '通过实际项目案例学习 Laravel 框架，涵盖路由、控制器、模型、视图、中间件等核心功能，以及数据库操作、认证授权、API 开发等高级主题。',
                'meta_description' => 'Laravel 框架实战教程，通过项目案例学习 Web 开发。',
            ],
            [
                'name' => '全栈开发指南',
                'description' => '从后端到前端，从数据库到部署，全面介绍全栈开发的技术栈和开发流程，帮助你成为一名优秀的全栈开发者。',
                'meta_description' => '全栈开发完整指南，涵盖前后端开发技术栈。',
            ],
        ];

        // 创建系列
        $series = collect();
        foreach ($seriesData as $data) {
            $slug = \Illuminate\Support\Str::slug($data['name']) . '-' . \Illuminate\Support\Str::random(6);
            
            $seriesModel = Series::create([
                'name' => $data['name'],
                'slug' => $slug,
                'description' => $data['description'],
                'featured_image' => 'https://dummyimage.com/800x400/6366f1/ffffff&text=' . urlencode($data['name']),
                'author_id' => $author->id,
                'post_count' => 0,
                'is_visible' => true,
                'meta_title' => $data['name'],
                'meta_description' => $data['meta_description'],
            ]);
            
            $series->push($seriesModel);
        }

        $this->command->info("成功创建 {$series->count()} 个系列！");

        // 输出系列信息
        foreach ($series as $s) {
            $this->command->line("  - {$s->name} (ID: {$s->id}, Slug: {$s->slug})");
        }
    }
}
